#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <QDebug>
#include <QResizeEvent>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //先把label的大小设置为和窗口一样,把标签的位置设置到（0，0）
    QRect rect = this->geometry();
    label = new QLabel(this);
    label->setGeometry(0,0,rect.width(),rect.height());

    //创建一个图片对象，设置进label中
    QPixmap pixmap(":/chicken.png");
    label->setPixmap(pixmap);

    //设置内容自动拉伸，这个属性只会对label中的图片进行拉伸，对文本没有效果
    label->setScaledContents(true);

    //当我们拉伸窗口的时候，发现图片并没有随着窗口尺寸变化而变化，
    //这是因为label的大小并没有变化，我们的图片是随着label的大小自动填充的。
    /*
         Qt中，表示用户的操作有两类概念
         一是信号，二是事件 ，这是两个不同的概念
    */
    //当用户拖拽修改窗体大小的时候，就会触发resize事件
    //可以让widget这个类重写resizeEvent这个虚函数，来处理我们的label大小变化
}

Widget::~Widget()
{
    delete ui;
}

//这个event就是，在拖动修改窗口大小的那一时刻，窗口的尺寸信息,
void Widget::resizeEvent(QResizeEvent *event)
{
    qDebug() << event->size();//这是一个QSzie对象
    label->setGeometry(0,0,event->size().width(),event->size().height());
}

